// let a: 10 | 11 //todo 用var 和用let区别
// a = 11
// a = 10
// a = 12

// let b : 'male' | 'female'  // todo 这种表达是什么意思
// b = 'male'
// b = "female"
// b = "no"

// let c: Number;
// c = 10;
// c = 10.11;
// c = 0.001;
// c = "a"

// let d :any;
// d= 10
// d="11"
// d=false;

// let e;
// e = 10
// e="11"
// e=false;
// var f:number;
// f="11"

// let f1: unknown;
// f1 = 10;
// f1 = "11";
// f1 = false;

// var f2: number;
// f2 = f1;

// function testfunc() {
//     for (var i = 0; i < 11; i++) {
//         var a = 10;//这里用var，后边a=11是可以获取得到的，但是用let，后面就获取不到，作用域的问题
//         console.info(i);
//     }
//     a=11;
//     console.info(a)
// }

//  let g: any = "hello";
//  let num: number = g;

//  let g1:unknown="hello";
//  let num1:string = g1;

// let h: Array<number>
// h = [1, 2, 3]
// let h1:number[]
// h1=[1,2,3]
// h.forEach(t => {
//     console.log(t);
// })

// let i : [string,number];//元组
// i=["a",1]

// enum Color{
//     Red = 1,
//     Green = "a"
// }
// console.log(Color.Red);
// console.log(Color.Green)

type Person = {
    name: string,
    age: number
}
let m: Person
m = {
    name: "10",
    age: 1
}

// interface User {
//     id: number;
//     name: string;
//     greet(msg: string): void;
// }
// class Admin implements User {
//     id = 1;
//     name = "1";
//     greet(msg: string): void {
//         console.log("你好:" + this.name + " " + msg);
//     }
// }
// let admin = new Admin()
// admin.id = 1.2;
// admin.name = "张震";
// console.log(admin.id);
// console.log(admin.name);
// admin.greet("有你的邮件");